package org.adorsys.aderp.booking.domain;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.ManyToMany;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.jpa.entity.RooJpaEntity;
import org.springframework.roo.addon.tostring.RooToString;

@RooJavaBean
@RooToString
@RooJpaEntity
public class BookingData {

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<ReservationState> reservationStates = new HashSet<ReservationState>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<PayementState> payementStates = new HashSet<PayementState>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<InvoiceState> invoiceStates = new HashSet<InvoiceState>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<PricingTimeUnit> pricingTimeUnit = new HashSet<PricingTimeUnit>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<RoomCategory> roomCategories = new HashSet<RoomCategory>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<RoomRate> roomRates = new HashSet<RoomRate>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<RoomOption> roomOptions = new HashSet<RoomOption>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<RoomObject> roomObjects = new HashSet<RoomObject>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<Room> rooms = new HashSet<Room>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<Invoice> invoices = new HashSet<Invoice>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<InvoiceItem> invoiceItems = new HashSet<InvoiceItem>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<Reservation> reservations = new HashSet<Reservation>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<OrgaPersonRef> personRefs = new HashSet<OrgaPersonRef>();

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<RoomLock> roomLocks = new HashSet<RoomLock>();
}
